EDA ágil para el Análisis del Discurso Presidencial

codigo
analisis
tutorial
nlp
Author

Lic. Pedro Damian Orden

Published

December 13, 2023

Introducción

El procesamiento del lenguaje natural (NLP) se ha establecido como una herramienta esencial en el análisis de datos, desempeñando un papel crucial tanto en la interpretación de grandes cantidades de información de texto como en la base para tecnologías más avanzadas, incluyendo los Modelos de Lenguaje de Gran Tamaño (LLM). Si bien estos últimos han ganado prominencia por su capacidad de generar y comprender texto, es el NLP el que proporciona los fundamentos para estas capacidades avanzadas. En este análisis, nos centramos en aplicar NLP en un Análisis Exploratorio de Datos (EDA) y en el análisis de sentimientos, resaltando su papel indispensable en la comprensión profunda de la estructura y el tono del discurso humano.

En el análisis político, el uso del NLP para examinar discursos es especialmente significativo. Mediante técnicas de NLP, podemos desentrañar no solo el contenido explícito de las palabras de un orador, sino también sus intenciones subyacentes, sus emociones y patrones lingüísticos. Esto es crucial cuando se analizan figuras públicas como el presidente argentino recién electo Javier Milei, cuyas palabras pueden influir y reflejar corrientes sociales y políticas. Un Análisis Exploratorio de Datos (EDA) efectivo es esencial en este proceso, permitiendo una rápida inmersión en la estructura y el tono del discurso.

Enfocándonos en el discurso de asunción presidencial, enunciado el 10 de diciembre de 2023, este análisis propone una metodología de EDA ágil y adaptativa, empleando técnicas de NLP para ofrecer una visión panorámica y calrificadora del discurso.

En este documento electrónico, nuestro objetivo no es realizar un análisis exhaustivo, sino más bien proporcionar un conjunto de herramientas rápidas y efectivas para explorar cualquier discurso político. Esta aproximación busca identificar temas recurrentes, patrones lingüísticos y las emociones que subyacen en el discurso.

Code
library(vembedr)
embed_url("https://www.youtube.com/watch?v=OorOKEXhUBI&ab_channel=Perfil
") %>%
  use_align("center")%>%
  use_bs_responsive()

Para complementar nuestro análisis, emplearemos gráficos interactivos generados por la biblioteca echarts4r de R, ofreciendo así una representación visual atractiva y dinámica de los datos. Estos gráficos nos permitirán ilustrar la frecuencia de las palabras más destacadas y examinar las tendencias emocionales en el discurso, sean positivas o negativas. Esta combinación de análisis rápido y visualización interactiva no solo nos proporcionará una comprensión ágil de la retórica de Milei, sino que también servirá como un ejemplo del potencial del NLP para explorar eficientemente textos políticos.

Elección e instalación de las librerías

Para llevar a cabo nuestro análisis de NLP, utilizaremos una serie de bibliotecas en R, cada una aportando funcionalidades calve. A continuación, describiremos brevemente cada biblioteca y proporcionaremos enlaces para más información:

  1. echarts4r: Esta biblioteca permite la creación de gráficos interactivos basados en ECharts de Apache, una potente herramienta de visualización de datos. Es especialmente útil para crear gráficos atractivos y dinámicos, como los que utilizaremos para visualizar la frecuencia de palabras y los resultados del análisis de sentimientos (conocer echarts4r).

  2. tidyverse: Es un conjunto de paquetes diseñados para la manipulación y visualización de datos en R. Incluye paquetes como ggplot2 para gráficos, dplyr para manipulación de datos, y tidyr para reestructurar datos, entre otros. Es fundamental para la limpieza y preparación de datos en nuestro análisis (más sobre tidyverse).

  3. tm: Conocida como la biblioteca de “Text Mining”, tm proporciona una estructura y herramientas para el procesamiento de texto, facilitando operaciones como la eliminación de palabras comunes (stop words), la transformación de texto, y la creación de matrices de términos. Es esencial para el preprocesamiento del texto del discurso (ver tm).

  4. tidytext: Esta biblioteca une los principios del tidyverse con el análisis de texto. Permite realizar operaciones de procesamiento de texto de una manera fácil y efectiva, convirtiendo texto en un formato tidy para análisis. Es especialmente útil para la tokenización y análisis de frecuencia de palabras (sobre tidytext).

  5. syuzhet: Especializada en análisis de sentimientos, esta biblioteca permite extraer los aspectos emocionales de un texto. Utiliza varias técnicas de análisis de sentimientos, lo que la hace ideal para nuestro propósito de evaluar la connotación emocional del discurso de Milei (qué es syuzhet?).

Cada una de estas bibliotecas se complementa para proporcionar una plataforma robusta y flexible para el análisis de NLP, desde la recolección y preparación de datos hasta la visualización y el análisis de sentimientos. La instalación de estas bibliotecas es el primer paso esencial para explorar eficientemente el discurso político utilizando técnicas de procesamiento de lenguaje natural.

Pasemos a instalarlas:

Obtención y preparación de los datos

En la fase de obtención y preparación de datos para nuestro análisis de NLP, comenzamos con la extracción del texto del discurso de asunción de Javier Milei. Aunque el discurso original está publicado en el diario Página 12 , para facilitar su procesamiento y análisis, hemos alojado el texto en GitHub. Este enfoque nos permite acceder y manipular los datos de manera más eficiente y automatizada.

El código para acceder al discurso será el siguiente:

Code
# URL del archivo en GitHub
url <- "https://raw.githubusercontent.com/pedroorden/nlpasuncion2023/main/discurso.txt"

# Lee el archivo desde la URL
contenido <- read_lines(url)

Aquí, utilizamos la función read_lines de R para leer el contenido del archivo de texto directamente desde GitHub. Esta técnica de obtención de datos desde una URL es particularmente útil para flujos de trabajo de análisis de datos reproducibles, ya que permite a cualquier persona con acceso al script acceder a la misma versión del conjunto de datos.

Preprocesamiento y Limpieza del discurso

El preprocesamiento de datos es una etapa crucial en cualquier análisis de NLP, ya que prepara el texto bruto para su posterior análisis. Este proceso involucra limpiar y organizar los datos para asegurar que la información sea analizada de manera precisa y efectiva.

Exploración Inicial

Comenzamos explorando las primeras palabras del discurso para tener una idea inicial de su contenido y estilo. Este paso es útil para obtener una impresión preliminar del texto y para asegurarnos de que los datos se hallan cargado correctamente. El código en R para esta tarea divide el contenido del discurso en palabras y luego extrae las primeras ocho palabras de cada línea, proporcionando un vistazo rápido al comienzo de cada segmento del discurso.

Code
# Dividir el contenido en palabras
palabras <- strsplit(contenido, " ")

# Obtener las primeras palabras (por ejemplo, las primeras 8 palabras)
primeras_palabras <- unlist(lapply(palabras, function(x) paste(x[1:8], collapse = " ")))

# Imprimir las primeras palabras
cat(primeras_palabras, sep = "\n")
Hoy comienza una nueva era en Argentina. Hoy
Señores, ese modelo ha fracasado. Hoy comenzamos la
Ningún gobierno ha recibido una herencia peor que
El gobierno saliente nos ha dejado plantada una
Por ende, la conclusión es que no hay
En materia social, estamos recibiendo un país donde
En todas las esferas, miren donde miren, la
No tenemos alternativas y tampoco tenemos tiempo. No
Hoy empezamos a desatar el camino de la
Por lo tanto, Dios bendiga a los argentinos

Limpieza y Tokenización

El siguiente paso es transformar el texto en un formato estructurado y limpiarlo de elementos no deseados. Para esto, utilizamos tibble para convertir el contenido en un formato tabular, facilitando la manipulación de los datos. Luego, con la ayuda de tidytext, realizamos la tokenización del texto, dividiéndolo en palabras individuales o ‘tokens’. Este proceso es fundamental para el análisis detallado de frecuencia de palabras y análisis de sentimientos.

Posteriormente, eliminamos las ‘stop words’ en español, que son palabras comunes que generalmente no aportan significado relevante al análisis (como ‘y’, ‘de’, ‘en’, etc.). También filtramos los números y otros caracteres que no sean palabras, ya que nuestro enfoque está en el análisis lingüístico del texto.

Code
# Convertimos el contenido del discurso en un tibble para facilitar su manejo.
# Cada línea del discurso se almacena como una fila en el tibble.
contenido <- tibble(text = contenido)

# Realizamos la tokenización del texto. Esto implica descomponer el texto en palabras individuales.
# 'unnest_tokens' convierte cada palabra en una fila separada en un nuevo tibble 'discurso_tokens'.
discurso_tokens <- contenido |> unnest_tokens(word, text)

# Limpiamos los tokens eliminando las palabras comunes (stop words) y números.
# 'anti_join' elimina las stop words en español del tibble 'discurso_tokens'.
# 'filter' elimina cualquier token que sea un número o contenga números.
discurso_tokens <- discurso_tokens |>
    anti_join(tibble(word = stopwords("es")), by = "word") |>
    filter(!grepl("^[0-9]+([.,][0-9]+)?$", word))

Al finalizar este proceso de preprocesamiento, nos encontramos con un conjunto de datos limpio y estructurado, listo para ser analizado en profundidad. Hemos transformado el texto original del discurso en una serie de tokens individuales, eliminando elementos irrelevantes como las palabras comunes y los números. Este paso es fundamental, ya que nos permite enfocarnos en el contenido lingüístico significativo del discurso, sentando las bases para un análisis más detallado y preciso.

Análisis de Frecuencia de Palabras

En este momento del análisis, nos vamos a enfocar en identificar y visualizar las palabras más frecuentes en el discurso de Milei. Este paso es crucial para entender los temas y palabras clave que dominan su narrativa. A través del conteo de frecuencia de palabras, podemos obtener una visión clara de los términos más destacados en el discurso, lo que nos proporciona algunas pistas sobre los temas centrales y las preocupaciones expresadas.

El código en R para este análisis es el siguiente:

Code
# Contamos la frecuencia de cada palabra y seleccionamos las 10 más frecuentes
top10 <- discurso_tokens %>%
  count(word) %>%
  arrange(desc(n)) %>%
  head(10) 

# Creamos un gráfico de barras para visualizar estas palabras más frecuentes
top10 %>%
  arrange(n) %>% 
  e_charts(word) %>%
  e_bar(n, legend = FALSE, name = "Frecuencia", itemStyle = list(color = '#7d7eec')) %>%
  e_labels(position = "right") %>%
  e_tooltip() %>%
  e_flip_coords() %>%
  e_y_axis(splitLine = list(show = FALSE)) %>%
  e_x_axis(show = FALSE, axisLabel = list(rotate = 45)) %>%  # Rotar etiquetas del eje X
  e_title("Top 10 palabras más frecuentes en el discurso Milei", left = "center",
          subtext = "Pronunciado en el marco de la asunción presidencial el 10-12-23") %>%
  e_toolbox_feature(feature = "saveAsImage", title = "Guardar como imagen") %>%
    e_toolbox_feature(feature = "dataView", title = "Ver datos") %>%
  e_theme("vintage") %>%
  e_grid(left = '20%')

En un primera revisión sucinta del análisis de frecuencias de palabras del discurso presidencial del domingo 10 de diciembre, tres términos destacan por su relevancia y recurrencia: “país”, “hoy” y “libertad”. Estas palabras no solo son las más mencionadas, sino que también ofrecen una ventana hacia los temas centrales y las preocupaciones del orador.

“País”, el término más frecuente, refiere a la nación y su estado actual. La prominencia de esta palabra indica que el discurso probablemente se centra en cuestiones de relevancia nacional, abarcando aspectos políticos, sociales y económicos que afectan al país en su conjunto.

El término “hoy” señala una orientación hacia el presente, sugiriendo una atención inmediata en los asuntos actuales. Su uso enfatiza la importancia del momento actual, posiblemente instando a la acción o reflexión sobre las circunstancias y decisiones contemporáneas que están modelando el país. Esto puede interpretarse como un llamado a reconocer y abordar las cuestiones urgentes que enfrenta Argentina.

Finalmente, “libertad” emerge como un concepto clave, implicando un discurso que probablemente se inclina hacia temas de autonomía y posiblemente reformas políticas o económicas. Este término evoca fuertes connotaciones emocionales y principios ideológicos, sugiriendo que la libertad es un valor central en el mensaje del quien la enuncia.

Este análisis rápido y enfocado de las palabras más frecuentes en el relato presidencial proporciona una comprensión inicial de los temas predominantes y las preocupaciones expresadas, ofreciendo una base sólida para una exploración más detallada de su retórica y contenido.

Generación de la Nube de Palabras

La creación de una nube de palabras es una técnica visual impactante para ilustrar la frecuencia de términos en un texto. En nuestro análisis discursivo esta representación gráfica nos ofrece una perspectiva inmediata y visualmente atractiva de las palabras más destacadas.

El código en R para generar esta nube de palabras es el siguiente:

Code
discurso_tokens %>%
  count(word) %>% 
  arrange(desc(n)) %>% 
  e_color_range(n, color, colors = c("#f8ad9d","#73a3c1"))%>%
  e_charts() %>%
  e_cloud(
    word = word,
    freq = n,
    color = color,
    shape = "circle",
    rotationRange = c(0, 0),
    sizeRange = c(8, 100)
  ) %>%
  e_tooltip() %>%
  e_title("Nube de palabras del discurso presidencial", 
          subtext = "Acto de asunción 10-12-23",
          left = "center") %>% 
  e_toolbox_feature(feature = "saveAsImage", title = "Guardar Nube") %>%
  e_toolbox_feature(feature = "dataView", title = "Ver datos") %>%
  e_theme("vintage")

En el gráfico cada palabra del discurso se presenta en un tamaño proporcional a su frecuencia de aparición. Las palabras más frecuentes aparecen más grandes, facilitando la identificación rápida de los términos clave. Además, empleamos una gama de colores para hacer la visualización más atractiva y para ayudar a distinguir entre los diferentes términos.

La nube como facilitación gráfica

La nube de palabras no solo destaca las palabras más usadas, sino que también ofrece una interpretación visual de un discurso, mostrando de manera clara y directa cuáles son los temas y conceptos que predominan en el mensaje del orador. Esta herramienta es particularmente útil en el análisis exploratorio, ya que proporciona una visión general rápida y efectiva del contenido del texto, permitiendo identificar tendencias y patrones con un simple vistazo.

Al aplicar esta técnica en el discurso del presidente, podemos complementar nuestro análisis de frecuencia de palabras y obtener una perspectiva adicional sobre los aspectos más enfatizados en su retórica. La nube de palabras se convierte así en una herramienta valiosa para sintetizar y comunicar los resultados de nuestro análisis de manera intuitiva y accesible.

Análisis de Sentimiento con Syuzhet

El análisis de sentimientos es una técnica de NLP que evalúa las emociones asociadas a las palabras en un texto. Utilizamos el algoritmo NRC proporcionado por la biblioteca syuzhet en R para examinar el discurso del Presidente. Este algoritmo clasifica las palabras según emociones positivas o negativas, permitiéndonos entender mejor el tono emocional del discurso.

Code
# Aplicamos el análisis de sentimientos a nivel de palabras
sentimientos <- get_nrc_sentiment(discurso_tokens$word, lang="spanish")

# Realizamos una unión entre los resultados del análisis de sentimientos y las palabras originales
texto_p <- rowid_to_column(discurso_tokens, "ID")

sentimientos <- rowid_to_column(sentimientos, "ID")

texto_sentimientos <- sentimientos %>%
  left_join(texto_p)

Ojo: la funcion get_nrc_sentiment puede tardar en correr aprox 50 segundos (dependiendo el equipo).

El análisis de sentimientos con la biblioteca syuzhet en R se basa en un diccionario de sentimientos, donde cada palabra está asociada con emociones específicas, como alegría, tristeza, ira, entre otras. En este proceso, el texto del discurso se descompone en palabras individuales y cada una se compara con las del diccionario. Si una palabra del discurso coincide con una del diccionario, se le asigna la emoción correspondiente. Esta metodología permite evaluar el tono emocional del texto basándose en la frecuencia y el tipo de emociones asociadas con las palabras utilizadas.

Cabrá destacar que este enfoque, aunque efectivo para obtener una visión general de las emociones presentes en un texto, tiene limitaciones. La interpretación de las emociones puede variar según el contexto cultural y lingüístico, y el análisis puede no captar matices como la ironía o el sarcasmo.

Además, los resultados dependen del diccionario de sentimientos utilizado, que puede estar influenciado por sesgos en su creación. Por lo tanto, aunque útil, este análisis debe considerarse como una aproximación y ser complementado con una evaluación contextual del texto.

Antes de seguir, veamos qué tiene el dataframe de sentimientos que obtuvimos luego de correr la función get_nrc_sentiment.

Code
summary(texto_sentimientos)
       ID             anger          anticipation       disgust       
 Min.   :   1.0   Min.   :0.00000   Min.   :0.0000   Min.   :0.00000  
 1st Qu.: 375.5   1st Qu.:0.00000   1st Qu.:0.0000   1st Qu.:0.00000  
 Median : 750.0   Median :0.00000   Median :0.0000   Median :0.00000  
 Mean   : 750.0   Mean   :0.03869   Mean   :0.0527   Mean   :0.02535  
 3rd Qu.:1124.5   3rd Qu.:0.00000   3rd Qu.:0.0000   3rd Qu.:0.00000  
 Max.   :1499.0   Max.   :3.00000   Max.   :3.0000   Max.   :2.00000  
      fear             joy             sadness           surprise      
 Min.   :0.0000   Min.   :0.00000   Min.   :0.00000   Min.   :0.00000  
 1st Qu.:0.0000   1st Qu.:0.00000   1st Qu.:0.00000   1st Qu.:0.00000  
 Median :0.0000   Median :0.00000   Median :0.00000   Median :0.00000  
 Mean   :0.0547   Mean   :0.05537   Mean   :0.06071   Mean   :0.03402  
 3rd Qu.:0.0000   3rd Qu.:0.00000   3rd Qu.:0.00000   3rd Qu.:0.00000  
 Max.   :3.0000   Max.   :4.00000   Max.   :5.00000   Max.   :2.00000  
     trust            negative         positive          word          
 Min.   :0.00000   Min.   :0.0000   Min.   :0.0000   Length:1499       
 1st Qu.:0.00000   1st Qu.:0.0000   1st Qu.:0.0000   Class :character  
 Median :0.00000   Median :0.0000   Median :0.0000   Mode  :character  
 Mean   :0.08139   Mean   :0.0994   Mean   :0.1308                     
 3rd Qu.:0.00000   3rd Qu.:0.0000   3rd Qu.:0.0000                     
 Max.   :3.00000   Max.   :5.0000   Max.   :4.0000                     

El resultado es un dataframe con palabras y polaridades por sentimiento. Para profundizar en nuestro análisis del discurso de Javier Milei, utilizaremos este output para examinar las palabras positivas y negativas con mayor pregnancia.

Análisis de las Palabras Negativas en el Discurso

Siguiendo nuestro EDA de NLP, nos enfocamos ahora en las palabras con connotaciones negativas. Utilizando el código proporcionado, identificamos y visualizamos las diez palabras más frecuentes que el algoritmo ha clasificado como negativas.

Code
# Seleccionamos y contamos las palabras con connotaciones negativas
data_neg <- texto_sentimientos %>% 
  select(negative, word) %>% 
  filter(negative > 0) %>% 
  count(word) %>% 
  arrange(desc(n)) %>% 
  head(10)

Este segmento de código selecciona y cuenta las palabras del discurso que tienen asociaciones negativas según el diccionario del NRC. Luego, visualizamos estas palabras en un gráfico de barras para facilitar su análisis:

Code
# Visualizamos las 10 palabras negativas más frecuentes en un gráfico de barras
data_neg%>%
  arrange(n) %>% 
  e_charts(word) %>%
  e_bar(n, legend = FALSE, name = "Frecuencia", itemStyle = list(color = '#902e59')) %>%
  e_labels(position = "right") %>%
  e_tooltip() %>%
  e_flip_coords() %>%
  e_y_axis(splitLine = list(show = FALSE)) %>%
  e_x_axis(show = FALSE, axisLabel = list(rotate = 45)) %>%  # Rotar etiquetas del eje X
  e_title("Top 10 palabras negativas en el discurso de asunción", left = "center") %>%
  e_toolbox_feature(feature = "saveAsImage", title = "Guardar como imagen") %>%
    e_toolbox_feature(feature = "dataView", title = "Ver datos") %>%
  e_theme("vintage") %>%
  e_grid(left = '20%')

Antes de continuar! observemos cómo el algoritmo identifica ciertas palabras, por ej “gobierno”, como negativas. Esto puede reflejar un sesgo ideológico inherente al algoritmo, que ha sido desarrollado fuera de Argantina. Es crucial tener en cuenta estos sesgos potenciales, ya que la interpretación de las palabras puede variar significativamente según el contexto cultural y político. En este caso, la clasificación de “gobierno” como una palabra negativa podría no reflejar con precisión su uso y connotación en el contexto específico del discurso de Milei.

Análisis de las Palabras Positivas en el Discurso

Después de examinar las palabras negativas, el análisis de las palabras positivas nos ofrece un contraste necesario para entender el equilibrio emocional del discurso. Estas palabras positivas, identificadas a través del algoritmo NRC, nos muestran los aspectos del discurso que Milei enfatizó de forma esperanzadora o constructiva. Este enfoque no solo ayuda a equilibrar la narrativa, sino que también destaca los temas y valores que el orador considera fundamentales y positivos.

Code
# Seleccionamos y contamos las palabras con connotaciones positivas
data_pos<-texto_sentimientos %>% 
  select(positive, word) %>% 
  filter(positive>0) %>% 
  count(word) %>% 
  arrange(desc(n)) %>% 
  head(10)
Code
# Visualizamos las 10 palabras positivas más frecuentes en un gráfico de barras
data_pos%>%
  arrange(n) %>% 
  filter(!word=="así") %>% 
  e_charts(word) %>%
  e_bar(n, legend = FALSE, name = "Frecuencia", 
        itemStyle = list(color = '#52bfc1')) %>%
  e_labels(position = "right") %>%
  e_tooltip() %>%
  e_flip_coords() %>%
  e_y_axis(splitLine = list(show = FALSE)) %>%
  e_x_axis(show = FALSE, axisLabel = list(rotate = 45)) %>%  # Rotar etiquetas del eje X
  e_title("Top 10 palabras positivas en el discurso de asunción", left = "center") %>%
  e_toolbox_feature(feature = "saveAsImage", title = "Guardar como imagen") %>%
    e_toolbox_feature(feature = "dataView", title = "Ver datos") %>%
  e_theme("vintage") %>%
  e_grid(left = '20%')

Destaquemos nuevamente una disonancia local: el valor de la palabra “herencia”depende del contexto específico en el que se usa en el discurso. Si se utiliza en un sentido de legado positivo o logros, puede ser considerada como positiva. Sin embargo, si se refiere a problemas o desafíos heredados, podría tener una connotación negativa. La clasificación del NRC ofrece una guía, pero el contexto proporciona la clave para una interpretación precisa.

En el discurso de Milei la noción de “herencia” es usada positiva o negativamente?

Conclusiones

La implementación de técnicas de procesamiento del lenguaje natural (NLP) para el análisis de discursos, como se demostró en el estudio del discurso de Javier Milei, resalta su valor incalculable como herramienta para los cientistas sociales contemporáneos . Este enfoque, que integra análisis lingüístico y computacional, se posiciona como una metodología necesaria no solo para quienes se dedican a la investigación social y política, sino también para aquellos en la intersección de estas áreas con la programación y la ciencia de datos.

El análisis EDA (Análisis Exploratorio de Datos) basado en NLP permite desentrañar rápida y eficientemente los patrones lingüísticos, los temas predominantes y las emociones en discursos políticos. Esta capacidad de análisis rápido y profundo es especialmente valiosa en un mundo donde el lenguaje y la comunicación juegan un rol central en la formación de opiniones y movimientos sociales.

La adopción de herramientas como echarts4r, tidyverse, tm, tidytext, y syuzhet representa un avance significativo en el campo de la investigación social. Estas herramientas no solo facilitan la interpretación de grandes volúmenes de texto, sino que también democratizan el acceso a los análisis de alta calidad, permitiendo a investigadores y analistas descubrir insights que antes requerían recursos y tiempo considerablemente mayores.

En conclusión, el uso de NLP en el análisis de discursos políticos y sociales es una manifestación clave de cómo la tecnología puede potenciar y transformar la investigación en ciencias sociales. Este enfoque brinda nuevas perspectivas y profundidad a los análisis, convirtiéndose en un aliado indispensable para estudiantes universitarios, cientistas sociales, analistas políticos, y desarrolladores interesados en explorar las dinámicas del discurso humano en la era de la hipermodernidad.

Reuse

Citation

BibTeX citation:
@online{pedro damian orden2023,
  author = {Pedro Damian Orden, Lic.},
  title = {EDA Ágil Para El {Análisis} Del {Discurso} {Presidencial}},
  date = {2023-12-13},
  url = {https://tecysoc.netlify.app/posts/dicurso presidencial},
  langid = {en}
}
For attribution, please cite this work as:
Pedro Damian Orden, Lic. 2023. “EDA Ágil Para El Análisis Del Discurso Presidencial.” December 13, 2023. https://tecysoc.netlify.app/posts/dicurso presidencial.